package com.librelato.negocio;

import java.util.ResourceBundle;

import javax.faces.context.FacesContext;

import com.librelato.negocio.bean.IBeanGenerico;
import com.librelato.negocio.interfaces.IServicoGenerico;
import com.librelato.negocio.validadores.IValidador;
import com.librelato.negocio.validadores.StringValidador;

public abstract class ServicoGenerico<P extends IBeanGenerico> implements IServicoGenerico<P> {
	
	private final ResourceBundle bundle;
	
	private final IValidador<String> stringValidador;
	
	public ServicoGenerico() {
		FacesContext fc = FacesContext.getCurrentInstance();
		bundle = fc.getApplication().getResourceBundle(fc, "message");		
		stringValidador = new StringValidador();
	}

	public ResourceBundle getBundle() {
		return bundle;
	}

	public IValidador<String> getStringValidador() {
		return stringValidador;
	}
	
	@Override
	public String getValor(final String chave) {
		return this.bundle.getString(chave);
	}
	
	protected boolean ehBrancoOuNulo(final String chave){
		return chave == null || "".equals(chave);
	}
	
}
